package com.hxh.demo.mapper;

import com.hxh.demo.entity.Userinfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * @date 2023/7/6 21:27
 */
@Mapper
public interface UserMapper {

    // 根据用户 id 查询用户信息
    Userinfo getUserById(Integer id);

    // 查询所有用户信息
    List<Userinfo> getAll();

    // 添加用户信息
    int add(Userinfo userinfo);

    // 添加用户信息并返回添加用户的 id
    int addGetId(Userinfo userinfo);

    // 修改用户姓名
    int upUserName(Userinfo userinfo);

    // 修改用户信息(动态SQL)
    int update(Userinfo userinfo);

    // 根据用户 id 删除用户信息
    int delById(@Param("id") Integer id);

    // 删除多条用户信息(动态SQL)
    int dels(List<Integer> ids);

    // 根据用户 id 指定升序或者降序查询用户信息
    List<Userinfo> getAllByOrder(@Param("order") String order);

    // 根据用户姓名进行模糊查询
    List<Userinfo> getByName(@Param("username") String username);

    // 添加用户信息(动态SQL)
    int add2(Userinfo userinfo);

    // 条件查询(动态SQL)
    List<Userinfo> getAllByParam(@Param("username") String username, @Param("password") String password);
}
